///////////////////////////////////////////////////////////////////////////////
/// @file library_generic.h
/// @author Benjamin J. Orr
/// @brief Templated functions that I wish already existed
///////////////////////////////////////////////////////////////////////////////

#ifndef LIBRARYGENERIC_H
#define LIBRARYGENERIC_h

/////////////////////////////
/// LIBS
/////////////////////////////
#include <vector>
using std::vector;
#include <limits.h>

///////////////////////////////////////////////////////////////////////////////
/// @fn unsigned int search(vector<Generic> & v, Generic x)
/// @brief No frills. Searches through v for x
/// @pre v is not empty
/// @param vector<Generic> & v -- The vector we're rooting through
/// @param Generic x -- What we're searching for
/// @return Position of x or UINT_MAX
///////////////////////////////////////////////////////////////////////////////
template <class Generic>
unsigned int search(const vector<Generic> &v, const Generic x);

#include "library_generic.hpp"
#endif
